﻿
namespace SistemaLogistica.Business.Logic
{
    using System;
    using System.Collections.Generic;
    using SistemaLogistica.Business.Entities;
    using SistemaLogistica.DataAccess;

    public class GuiaRemisionManager
    {
        private GuiaRemisionManager() { }

        private static readonly GuiaRemisionManager instancia = new GuiaRemisionManager();

        public static GuiaRemisionManager Instancia
        {
            get { return instancia; }
        }

        public List<int> ListarIDsPorTipo(int tipo)
        {
            try
            {
                return GuiaRemisionData.Instancia.ListarIDsPorTipo(tipo);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public List<GuiaRemision> Listar()
        {
            try
            {
                return GuiaRemisionData.Instancia.Listar();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public List<GuiaRemision> ListarPorTipo(int tipo)
        {
            try
            {
                return GuiaRemisionData.Instancia.ListarPorTipo(tipo);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public int Registrar(GuiaRemision guiaRemision)
        {
            try
            {
                return GuiaRemisionData.Instancia.Registrar(guiaRemision);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void Modificar(GuiaRemision guiaRemision)
        {
            try
            {
                GuiaRemisionData.Instancia.Modificar(guiaRemision);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void Eliminar(int idGuiaRemision)
        {
            try
            {
                GuiaRemisionData.Instancia.Eliminar(idGuiaRemision);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
}
